/**
 * 日期时间工具模块
 * @description 导出所有日期时间相关的工具函数和类
 */

// 导出日期工具类和函数
export { DateUtils } from './dateUtils';
export {
  getCurrentDate,
  getCurrentTime,
  formatDateForDisplay,
  isValidDate,
  isValidTime,
  getDayOfWeek,
  calculateInstanceDate,
  generateInstanceDates,
  isToday,
  isPastDate,
  getRelativeDateDescription
} from './dateUtils';

// 导出时间工具类和函数
export { TimeUtils } from './timeUtils';
export {
  timeToMinutes,
  minutesToTime,
  isValidTimeFormat,
  compareTime,
  isTimeRangeOverlap,
  formatTimeRange,
  formatDuration,
  detectTimeConflict,
  getCommonClassTimeSlots
} from './timeUtils';

// 导出类型定义
export type TimeConflictResult = {
  hasConflict: boolean;
  conflicts: Array<{
    date: string;
    startTime: string;
    endTime: string;
    courseName?: string;
    conflictType: 'time_overlap' | 'same_time';
  }>;
};

export type TimeSlot = {
  label: string;
  startTime: string;
  endTime: string;
};

export type ScheduleItem = {
  date: string;
  startTime: string;
  endTime: string;
  studentId: string;
  courseName?: string;
};